
::WS::Utils::ServiceTypeDef Client FreshBookApi ProjectTaskArray {
    task_id     {type string() minOccurs 1 maxOccurs 1}
}

::WS::Utils::ServiceTypeDef Client FreshBookApi ProjectStaffArray {
    staff_id    {type string() minOccurs 1 maxOccurs 1}
}

::WS::Utils::ServiceTypeDef Client FreshBookApi ProjectDefinition {
    name            {type string minOccurs 1 maxOccurs 1}
    bill_method     {type string minOccurs 0 maxOccurs 1}
    client_id       {type string minOccurs 0 maxOccurs 1}
    rate            {type string minOccurs 0 maxOccurs 1}
    description     {type string minOccurs 0 maxOccurs 1}
    hour_budget     {type string minOccurs 0 maxOccurs 1}
    staff           {type ProjectStaffArray minOccurs 0 maxOccurs 1}
    tasks           {type ProjectTaskArray minOccurs 0 maxOccurs 1}
}

::WS::Utils::ServiceTypeDef Client FreshBookApi ProjectUpdate {
    project_id      {type string minOccurs 1 maxOccurs 1}
    name            {type string minOccurs 1 maxOccurs 1}
    bill_method     {type string minOccurs 0 maxOccurs 1}
    client_id       {type string minOccurs 0 maxOccurs 1}
    rate            {type string minOccurs 0 maxOccurs 1}
    description     {type string minOccurs 0 maxOccurs 1}
    hour_budget     {type string minOccurs 0 maxOccurs 1}
    staff           {type ProjectStaffArray minOccurs 0 maxOccurs 1}
    tasks           {type ProjectTaskArray minOccurs 0 maxOccurs 1}
}

::WS::Utils::ServiceTypeDef Client FreshBookApi ProjectDetials {
    project_id      {type string minOccurs 1 maxOccurs 1}
    name            {type string minOccurs 1 maxOccurs 1}
    bill_method     {type string minOccurs 0 maxOccurs 1}
    client_id       {type string minOccurs 0 maxOccurs 1}
    rate            {type string minOccurs 0 maxOccurs 1}
    description     {type string minOccurs 0 maxOccurs 1}
    hour_budget     {type string minOccurs 0 maxOccurs 1}
    staff           {type ProjectStaffArray minOccurs 0 maxOccurs 1}
    tasks           {type ProjectTaskArray minOccurs 0 maxOccurs 1}
}


::WS::Utils::ServiceTypeDef Client FreshBookApi ProjectListArray {
    project    {type ProjectUpdate()}
}


::WS::Client::DefineRestMethod FreshBookApi project project.create {
    project    {type ProjectDefinition}
} {
    project_id {type string}
}

::WS::Client::DefineRestMethod FreshBookApi project project.update {
    project    {type ProjectUpdate}
} {}

::WS::Client::DefineRestMethod FreshBookApi project project.get {
    project_id {type string}
} {
    project    {type ProjectUpdate}
}

::WS::Client::DefineRestMethod FreshBookApi project project.delete {
    project_id {type string}
} {
}

::WS::Client::DefineRestMethod FreshBookApi project project.list {
    page        {type string minOccurs 0 maxOccurs 1}
    per_page    {type string minOccurs 0 maxOccurs 1}
    client_id   {type string minOccurs 0 maxOccurs 1}
    task_id     {type string minOccurs 0 maxOccurs 1}
} {
    project    {type ProjectUpdate()}
}
